草庐IT

javascript ondrop 事件

全部标签

c# - 是否可以从另一个表单触发点击事件?

我需要运行另一个表单上的按钮代码。是否可以从不同的形式做到这一点?如果你说通过公开它是可能的,那么:我如何声明控件公开?如何将正确的事件传递给button_click?它需要两个参数-我如何传递它们? 最佳答案 为什么不在两个click事件都执行的共享类中创建一个公共(public)方法。 关于c#-是否可以从另一个表单触发点击事件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions

c# - 等到点击事件被触发 C#

我正在开发一个纸牌游戏,但我需要一个函数来停止程序,直到玩家没有点击他的纸牌的PictureBox来丢弃它。我的游戏算法是这样的:intnextDrawer=0;//theplayerswhichwilldiscardacardaredeterminatedincounterclockwisestartingfromthehumanplayerfor(inti=0;i问题是当一个曼斯结束时,第一个弃牌的人可能会改变。如果玩家用0(人类玩家)、1(第一个AI玩家)、2(第二个AI玩家)和3(第三个AI玩家)进行编号,则在第一局中,第一个弃牌的是人类玩家,但在第二个第一个弃牌的人可能是2个

c# - 在 C# 中究竟什么时候执行事件?

我开发了一个大量使用事件的C#应用程序。现在这个应用程序偶尔会做一些我无法理解的有趣事情,也无法追查到它们发生的具体原因。我认为这些间歇性故障的原因是某种我没有预料到的并发或竞争条件。在C#中究竟是如何处理事件的?如果引发事件,是否会(a)附加到该事件的代码部分立即执行?还是将事件(b)放在事件堆栈中,并在.NET认为适合执行时执行,同时执行其他代码? 最佳答案 Ifaneventisraised,willtheportionofcodeattachedtothateventbeexecutedimmediately?好吧,是的,不

C# 事件处理(与 Java 相比)

我目前很难理解和使用委托(delegate)在C#中实现事件。我习惯了Java的做事方式:为监听器类型定义一个接口(interface),该接口(interface)将包含许多方法定义如果我对监听器中定义的所有事件不感兴趣,则为该接口(interface)定义适配器类可以使事情变得更容易在引发事件的类中定义Add、Remove和Get[]方法定义protectedfire方法来完成循环遍历添加的监听器列表并调用正确方法的脏活我理解(并且喜欢!)-我知道我可以在c#中完全相同地执行此操作,但似乎有一个新的(更好的?)系统适用于c#。在阅读了无数解释c#中委托(delegate)和事件使用

c# - 在 CollectionChanged 事件处理程序中从 ObservableCollection 中移除一个项目

我希望能够在将某些项目添加到ObservableCollection后拒绝它们。我无法对ObservableCollection进行子类化或使用任何类型的View,因此我似乎仅限于使用定义的一个事件处理程序(CollectionChanged)对禁止的项目执行.Remove()。如果项目在引发事件和处理事件之间的短时间内存在,那很好;这些项目不应该保留在集合中。在CollectionChanged事件处理程序中调用.Remove()似乎是不允许的。在运行时.NET抛出InvalidOperationException:"CannotchangeObservableCollectiond

c# - 关闭应用程序是否会停止所有事件的 BackgroundWorker?

简单的问题,重复标题:关闭WinForms应用程序是否会停止所有事件的BackgroundWorker? 最佳答案 是的,确实如此。BackgroundWorker.RunWorkerAsync只是在内部委托(delegate)上调用BeginInvoke,后者将请求排队到ThreadPool。由于所有ThreadPool线程都是background,是的,它会在应用程序结束时结束。但是,请记住:通过“关闭WinForms应用程序”,我假设关闭了mainForm实例(通常是传递给Application.Run在由VisualStud

c# - 如何在输入键按下事件时将焦点移到数据 GridView 中的下一个单元格

friend们,我正在使用C#开发Windows应用程序。我正在使用datagridview来显示记录。我需要的功能是当我按下“Enter”键时焦点应该转到下一个单元格(同一行的列)。如果它是网格中的最后一列,那么焦点应该转到下一行的第一列。我已经尝试过使用SendKeys.Send("{Tab}")在datagridview1_KeyDown和datagridview1_KeyPress事件中。但焦点正沿对角线向下移动。请帮我解决这个问题。 最佳答案 privatevoiddataGridView1_KeyDown(objects

c# - 有没有办法在 VB.NET 中知道是否已为事件注册了处理程序?

在C#中我可以测试这个...publiceventEventHandlerTrigger;protectedvoidOnTrigger(EventArgse){if(Trigger!=null)Trigger(this,e);}有没有办法在VB.NET中做到这一点?我的意思是测试null?更多信息忘记说了。我有用C#编写的类(class),但我正在用VB.NET编写单元测试。我正在单元测试中尝试这个...IfmyObject.TriggerIsNotNothingThen''#dosomethingEndIf这会导致编译时错误,提示...“公共(public)事件触发器是一个事件,不能

c# - 在不触发 TextChanged 事件的情况下更改文本框文本

我在C#中的应用程序有一个带有txt_TextChanged事件的Textbox。privatevoidtxt_TextChanged(objectsender,EventArgse){//Dosomthin}但是我想在不触发txt_TextChanged事件的情况下更改一个特定部分txt.Text。txt.Text="somthing"//Don'tfiretxt_TextChanged我该怎么做? 最佳答案 没有直接的方法来阻止引发文本属性的事件,但是您的事件处理程序可以使用标志来确定天气或不执行任务。这可能比附加和分离事件处理

c# - ListView onScroll 事件

我正在编写一个简单的C#应用程序,我需要Listview上的onScroll事件。所以我创建了继承原始ListView的类ListviewEx女巫。我找到了如何检测来自WinAPI的滚动消息并修改了WndProc方法。现在我有了这个WndProc:protectedoverridevoidWndProc(refMessagem){base.WndProc(refm);if(m.Msg==WM_VSCROLL){onScroll(this,newEventArgs());}}但问题是,我不知道如何检测有关滚动的信息。此数据应在WParam中,但在C#中没有像C++中那样的LOWORD宏,